package com.adams.sys.parameter.dao.impl;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.adams.access.db.bean.Parameter;
import com.adams.access.db.dao.hibernate.HibernateDao;
import com.adams.sys.parameter.dao.ParameterDao;
import com.adams.utils.Page;

/**
 * 
 * 
 * File Name : ParameterDaoImpl.java
 * 
 * @Description : 参数数据操作类,提供参数的增、删、改和查功能
 * @author 902990封文进
 */
@Repository("parameterDao")
public class ParameterDaoImpl extends HibernateDao<Parameter, Long> implements
		ParameterDao
{

	/**
	 * 
	 * Description : 根据分页查询所有参数
	 * 
	 * @param page
	 * @return Page<Parameter>
	 * 
	 */
	public Page<Parameter> queryAllByPage(Page<Parameter> page)
	{
		return queryPage(page, "from Parameter");
	}

	/**
	 * 
	 * Description : 根据参数名查询参数
	 * 
	 * @param name
	 * @return Parameter
	 * 
	 */
	public List<Parameter> queryByName(String name)
	{
		return query("from Parameter as p where p.parameterPK.parameterName=?",
				name);
	}

	/**
	 * 
	 * Description : 根据参数类型和参数名称查询参数
	 * 
	 * @param type
	 * @param name
	 * @return Parameter
	 * 
	 */
	public Parameter queryByTypeAndName(String type, String name)
	{
		List<Parameter> list = query(
				"from Parameter as p where p.parameterPK.parameterType=? and p.parameterPK.parameterName=?",
				type, name);
		if (list != null && list.size() > 0)
		{
			return list.get(0);
		}
		return null;
	}

}
